#include "qqmusic.h"

#include <QApplication>
#include<QMessageBox>
#include<QSharedMemory>

int main(int argc, char *argv[])
{
    QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling, true);//启用了高DPI(每英寸点数)缩放功能
    QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps, true);//启用了高DPI(每英寸点数)像素图（pixmaps）的支持
    QApplication::setHighDpiScaleFactorRoundingPolicy(Qt::HighDpiScaleFactorRoundingPolicy::PassThrough);//设置了高DPI(每英寸点数)缩放因子的舍入策略
    QApplication a(argc, argv);
    //创建共享内存
    QSharedMemory shareMemory("QQMusic");
    //如果共享内存已经被占用,说明已经有实例在运行了
    //attach()函数关联实际地址和虚拟地址
    //第一次关联时,由于shareMemory还没申请空间,关联一定会失败,返回false(首次执行.exe程序)-->继续往下运行程序即可
    //第二次关联时,由于shareMemory申请空间,关联一定会成功,返回true(第二次执行.exe程序)-->此时则直接返回,退出程序,不继续往下执行
    if(shareMemory.attach())
    {
        QMessageBox::information(nullptr,"QQMusic","QQMusic运行中...");
        return 0;
    }
    shareMemory.create(1);//申请共享内存为1byte
    QQMusic w;
    w.show();
    return a.exec();
}
